Systems and methods for hail damage verification on rooftops using computer vision and artificial intelligence

ABSTRACT

A computer system for verifying hail damage and/or detecting hail fraud includes a processor and a non-transitory, tangible, computer-readable storage medium having instructions stored thereon that, in response to execution by the processor, cause the processor to perform operations including: (i) receiving at least one image of at least a portion of a rooftop; (ii) analyzing the at least one image to identify a plurality of damaged locations; (iii) analyzing damaged locations to determine a distance between each of the damaged locations; and (iv) determining, based upon the analyzing, whether the damaged locations are a result of hail damage by determining the distance between at least some of damaged locations.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority to U.S. ProvisionalPatent Application No. 62/518,942, filed Jun. 13, 2017, entitled“SYSTEMS AND METHODS FOR HAIL DAMAGE VERIFICATION ON ROOFTOPS USINGCOMPUTER VISION AND ARTIFICIAL INTELLIGENCE,” to U.S. Provisional PatentApplication No. 62/532,450, filed Jul. 14, 2017, entitled “SYSTEMS ANDMETHODS FOR HAIL DAMAGE VERIFICATION ON ROOFTOPS USING COMPUTER VISIONAND ARTIFICIAL INTELLIGENCE,” and to U.S. Provisional Patent ApplicationNo. 62/543,014, filed Aug. 9, 2017, entitled “SYSTEMS AND METHODS FORHAIL DAMAGE VERIFICATION ON ROOFTOPS USING COMPUTER VISION ANDARTIFICIAL INTELLIGENCE,” the entire contents and disclosure of whichare hereby incorporated by reference herein in their entirety.

FIELD OF THE INVENTION

The present disclosure relates to computer systems and methods for haildamage verification, or alternatively for hail fraud detection. Moreparticularly, the present disclosure relates to computer systems andmethods for hail damage verification and/or hail fraud, or lack thereof,detection on rooftops using computer vision and artificial intelligence,wherein at least one image of a rooftop is received and analyzed toidentify a plurality of damaged locations on the rooftop, and wherein atleast some of the plurality of damaged locations are compared to oneanother to identify anomalies or similarities among the damagelocations, and/or determine that the damaged locations on the rooftopare naturally occurring as a result of hail or, in the alternative, thatthe damaged locations were created as a result of mechanical damagedelivered by an individual.

BACKGROUND

In the insurance industry, it is common to insure structures, such ashomes, against damage, such as, for example, damage caused bythunderstorms, tornadoes, hurricanes, fires, and floods. In the case ofstorm damage, structures in the path of the storm may be damaged byhailstones (or hail) generated by the storm. More particularly, therooftops of structures in the path of a storm may suffer hail damage.

In the aftermath of such a storm, insurance companies may receive andprocess claims related to hail damage. Where a storm spans a large areaor deposits hailstones over a densely populated region, the number ofclaims made as a consequence of the storm may escalate rapidly. Inaddition, because each claim may be made in relation to a large surfacearea (e.g., a rooftop), the expense associated with repairing haildamage in the wake of a thunderstorm may be substantial.

Fraudulent insurance claims of hail damage result in unnecessaryexpenses for insurance providers. Specifically, in some cases, badactors may intentionally damage a rooftop in the wake of a storm to givethe rooftop the appearance of hail damage, notwithstanding the fact thatthe rooftop was not damaged by the thunderstorm. To create suchmechanical damage, an individual may use a device known as a “leanstick” (e.g., an elongated stick or staff). The individual mayrepeatedly press the lean stick into the rooftop to produce a series ofcraters, which, the individual hopes, will be mistaken by the insurancecompany insuring the structure for hail damage. In other instances,individuals have been known to repeatedly strike a rooftop with arounded hammer, or, in some cases, to strike a rooftop with a sack, suchas a tube sock, filled with rounded objects, such as a plurality of golfballs or rounded stones.

Conventional techniques that attempt to differentiate between damageoccurring naturally as a consequence of a thunderstorm, and that as aresult of mechanical damage may have several drawbacks, such as beingmanually intensive, inefficient, annoying, ineffective, and/or timeintensive.

BRIEF SUMMARY

The present embodiments relate to systems and methods for hail damageverification, and/or hail fraud, or lack thereof, detection. Forexample, the systems described herein may receive one or more images ofat least a portion of a rooftop, such as a rooftop that has been damagedand with respect to which an insurance claim of hail damage has beensubmitted. The systems may analyze the received images of the rooftop toidentify one or more damaged locations, such as one or more craters. Thesystems may further analyze dimensional data associated with eachdamaged location and/or a spacing between or distribution of damagedlocations over the surface of the rooftop to determine (i) whether thedamage is a result of mechanical damaged created for the purpose ofinsurance fraud (such as the damaged locations have similarities and/orare spaced evenly), and/or (i) whether the damage is naturally occurringas a result of hail (such as the damaged locations have anomalies and/orare spaced unevenly).

In one aspect, a computer system for verifying hail damage or verifyingthe accuracy of an insurance claim, and/or detecting hail fraud may beprovided. In some exemplary embodiments, the computer system may includea processor and a non-transitory, tangible, computer-readable storagemedium having instructions stored thereon that, in response to executionby the processor, cause the processor to perform operations including:(i) receiving at least one image of at least a portion of a rooftop;(ii) analyzing the at least one image to identify a plurality of damagedlocations; (iii) analyzing, using at least one of a computer vision andan artificial intelligence algorithm, the plurality of damaged locationsto determine a distance between each of the plurality of damagedlocations; and/or (iv) determining, based upon the analyzing, whetherthe plurality of damaged locations are a result of hail damage bydetermining the distance between at least some of the plurality ofdamaged locations. The computer system may include additional, less, oralternate functionality, including that discussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage and/or detecting hail fraud using computer vision and artificialintelligence may be provided. The method may be implemented using acomputer system including a processor in communication with at least onememory. The method may include: (i) receiving at least one image of atleast a portion of a rooftop; (ii) analyzing the at least one image toidentify a plurality of damaged locations; (iii) analyzing, using atleast one of a computer vision and an artificial intelligence algorithm,the plurality of damaged locations to determine a distance between eachof the plurality of damaged locations; and/or (iv) determining, basedupon the analyzing, whether the plurality of damaged locations are aresult of hail damage by determining the distance between at least someof the plurality of damaged locations. The method may includeadditional, less, or alternate actions, including those discussedelsewhere herein.

In a further aspect, at least one non-transitory computer-readablestorage media having computer-executable instructions embodied thereonmay be provided. When executed by a computer system including at leastone processor in communication with a memory, the computer-executableinstructions may cause the at least one processor to perform operationsincluding: (i) receiving at least one image of at least a portion of arooftop; (ii) analyzing the at least one image to identify a pluralityof damaged locations; (iii) analyzing, using at least one of a computervision and an artificial intelligence algorithm, the plurality ofdamaged locations to determine a distance between each of the pluralityof damaged locations; and/or (iv) determining, based upon the analyzing,whether the plurality of damaged locations are a result of hail damageby determining the distance between at least some of the plurality ofdamaged locations. The storage media may include additional, less, oralternate actions, including those discussed elsewhere herein.

In another aspect, a computer system for verifying hail damage orverifying the accuracy of an insurance claim, and/or detecting hailfraud may be provided. In some exemplary embodiments, the computersystem may include a processor and a non-transitory, tangible,computer-readable storage medium having instructions stored thereonthat, in response to execution by the processor, cause the processor toperform operations including: (i) receiving at least one image of atleast a portion of a rooftop; (ii) analyzing the at least one image toidentify a plurality of damaged locations; (iii) analyzing the pluralityof damaged locations to determine a shape and a size of each of theplurality of damaged locations; and/or (iv) at least one of: (a)determining, based upon the analyzing, that the shape and the size of atleast one of the plurality of damaged locations is substantiallyidentical to the shape and the size of at least one other damagedlocation of the plurality of damaged locations to determine that theplurality of damaged locations are not a result of hail damage; or (b)determining, based upon the analyzing, that the shape and the size of atleast one of the plurality of damaged locations is not substantiallyidentical to the shape and the size of at least one other damagedlocation of the plurality of damaged locations to determine that theplurality of damaged locations are a result of hail damage. The computersystem may include additional, less, or alternate functionality,including that discussed elsewhere herein.

In another aspect, a computer system for detecting hail fraud and/orverifying hail damage or verifying the accuracy of an insurance claimmay be provided. In some exemplary embodiments, the computer system mayinclude a processor and a non-transitory, tangible, computer-readablestorage medium having instructions stored thereon that, in response toexecution by the processor, cause the processor to perform operationsincluding: (i) receiving at least one image of at least a portion of arooftop; (ii) analyzing the at least one image to identify a pluralityof damaged locations; (iii) analyzing the plurality of damaged locationsto determine a distance between each of the plurality of damagedlocations, a size of each of the plurality of damaged locations, and ashape of each of the plurality of damaged locations; and/or (iv)analyzing at least one of the distance between each of the plurality ofdamaged locations, the size of each of the plurality of damagedlocations, and the shape of each of the plurality of damaged locationsto determine whether the plurality of damaged locations are a result ofhail damage. The computer system may include additional, less, oralternate functionality, including that discussed elsewhere herein.

In another aspect, a computer system for hail fraud detection and/orinsurance claim accuracy/hail damage verification may be provided. Insome exemplary embodiments, the computer system may include a processorand a non-transitory, tangible, computer-readable storage medium havinginstructions stored thereon that, in response to execution by theprocessor, cause the processor to perform operations including: (i)receiving at least one image of at least a portion of a rooftop; (ii)analyzing the at least one image to identify a plurality of damagedlocations; and/or (iii) comparing the plurality of damaged locations toeach other to determine whether the plurality of damaged locations are aresult of hail damage. The computer system may include additional, less,or alternate functionality, including that discussed elsewhere herein.

In yet another aspect, a computer-implemented method for hail frauddetection and/or hail damage verification/insurance claim accuracyverification may be provided. The method may include: (i) receiving, bya processor, at least one image of at least a portion of a rooftop; (ii)analyzing, by the processor, the at least one image to identify aplurality of damaged locations; and/or (iii) comparing, by theprocessor, the plurality of damaged locations to each other to determinewhether the plurality of damaged locations are a result of hail damage.The method may include additional, less, or alternate actions, includingthose discussed elsewhere herein.

In another aspect, a computer system for verifying hail damage usingcomputer vision and/or artificial intelligence may be provided. Thecomputer system may include comprising: a processor; an associatedtransceiver; and a non-transitory, tangible, computer-readable storagemedium having instructions stored thereon that, in response to executionby the processor, cause the processor and/or associated transceiver toperform operations comprising: receiving (via wired communication,and/or wireless communication or data transmission over one or moreradio frequency links or communication channels) or retrieving images orimage data of two or more impact signatures or craters in roofingmaterial of a roof of a building; analyzing the images or image data todetermine whether one or more anomalies exist among the two or moreimpact signatures or craters in the roofing material; if one or moreanomalies exist among the two or more impact signatures, generating anelectronic message indicating that the actual hail damage exists in theroofing material or that the damaged locations in the roofing materialare a result of hail damage; and transmitting, via at least one of wiredcommunication, or wireless communication or data transmission over oneor more radio frequency links or communication channels, the electronicmessage to a user mobile device or other computing device to facilitatehandling and promptly resolving insurance claims caused by hail damage.The system may include additional, less, or alternate functionality,including that discussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage and/or detecting hail fraud using computer vision and artificialintelligence may be provided. The method may be implemented using one ormore processors and/or transceivers. The method may include: (1)receiving at least one image of at least a portion of a rooftop; (2)analyzing the at least one image to identify a plurality of damagedlocations; (3) analyzing the plurality of damaged locations to determinea shape and a size of each of the plurality of damaged locations; and(4) at least one of: (a) determining, based upon the analyzing, that theshape and the size of at least one of the plurality of damaged locationsis substantially identical to the shape and the size of at least oneother damaged location of the plurality of damaged locations todetermine that the plurality of damaged locations are not a result ofhail damage; or (b) determining, based upon the analyzing, that theshape and the size of at least one of the plurality of damaged locationsis not substantially identical to the shape and the size of at least oneother damaged location of the plurality of damaged locations todetermine that the plurality of damaged locations are a result of haildamage. The method may include additional, less, or alternate actions,including those discussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage and/or detecting hail fraud using computer vision and artificialintelligence may be provided. The method may be implemented using one ormore processors and/or transceivers. The method may include: (1)receiving at least one image of at least a portion of a rooftop; (2)analyzing the at least one image to identify a plurality of damagedlocations; (3) analyzing the plurality of damaged locations to determinea distance between each of the plurality of damaged locations, a size ofeach of the plurality of damaged locations, and a shape of each of theplurality of damaged locations; and (4) analyzing at least one of thedistance between each of the plurality of damaged locations, the size ofeach of the plurality of damaged locations, and the shape of each of theplurality of damaged locations to determine whether the plurality ofdamaged locations are a result of actual hail damage. The method mayinclude additional, less, or alternate actions, including thosediscussed elsewhere herein.

Advantages will become more apparent to those skilled in the art fromthe following description of the preferred embodiments which have beenshown and described by way of illustration. As will be realized, thepresent embodiments may be capable of other and different embodiments,and their details are capable of modification in various respects.Accordingly, the drawings and description are to be regarded asillustrative in nature and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The Figures described below depict various aspects of the systems andmethods disclosed therein. It should be understood that each Figuredepicts an embodiment of a particular aspect of the disclosed systemsand methods, and that each of the Figures is intended to accord with apossible embodiment thereof. Further, wherever possible, the followingdescription refers to the reference numerals included in the followingFigures, in which features depicted in multiple Figures are designatedwith consistent reference numerals.

There are shown in the drawings arrangements which are presentlydiscussed, it being understood, however, that the present embodimentsare not limited to the precise arrangements and are instrumentalitiesshown, wherein:

FIG. 1 illustrates a schematic diagram of an exemplary computer systemfor hail damage verification and/or hail fraud detection using computervision and artificial intelligence.

FIG. 2 illustrates an exemplary configuration of a client device shownin FIG. 1, in accordance with one embodiment of the present disclosure.

FIG. 3 illustrates an exemplary configuration of a server shown in FIG.1, in accordance with one embodiment of the present disclosure.

FIG. 4 illustrates an exemplary rooftop that includes fraudulentmechanical damage.

FIG. 5 illustrates an exemplary rooftop that includes hail damage.

FIG. 6 illustrates a flowchart of an exemplary computer-implementedprocess implemented by the computer system shown in FIG. 1 for haildamage verification and/or hail fraud detection.

FIG. 7 illustrates a flowchart of another exemplary computer-implementedprocess implemented by the computer system shown in FIG. 1 for haildamage verification and/or hail fraud detection.

FIG. 8 illustrates a flowchart of another exemplary computer-implementedprocess implemented by the computer system shown in FIG. 1 for haildamage verification and/or hail fraud detection.

FIG. 9 illustrates a flowchart of another exemplary computer-implementedprocess implemented by the computer system shown in FIG. 1 for haildamage verification and/or hail fraud detection.

FIG. 10 illustrates a flowchart of another exemplarycomputer-implemented process implemented by the computer system shown inFIG. 1 for hail damage verification and/or hail fraud detection.

The Figures depict preferred embodiments for purposes of illustrationonly. One skilled in the art will readily recognize from the followingdiscussion that alternative embodiments of the systems and methodsillustrated herein may be employed without departing from the principlesof the invention described herein.

DETAILED DESCRIPTION OF THE DRAWINGS

The present embodiments may relate to, inter alia, systems and methodsfor hail damage verification and/or hail fraud detection. In oneexemplary embodiment, the process may be performed by at least onefrontend system, such as at least one client device, and/or at least onebackend system, such as a web server and/or a database server.

Hail damage may occur over an entire surface of a roof or may beisolated to one or more regions over the surface of the roof. Inaddition, thunderstorms may produce non-uniform hailstones of varyingsizes, shapes, weights, and densities. As these non-uniform hailstonesstrike rooftops in the path of the storm, the hailstones may causenon-uniform damage (e.g., impact craters) to the rooftops. For example,hail damage may be recognizable by a random distribution or randomlyspaced distribution of impact craters over the surface of a rooftopand/or include crater spacing anomalies. Similarly, hail damage may berecognizable by fluctuations in the sizes, shapes, and depths of theimpact craters created (and/or include crater size anomalies) as eachunique hailstone impacts a particular rooftop.

In various embodiments, a backend system may receive at least one imageof a rooftop, such as, for example, a rooftop that is damaged and forwhich an insurance claim of hail damage has been submitted. The at leastone image may be captured or acquired in any suitable manner, such as,for example, by a drone aircraft that flies over the rooftop. To thisend, the drone may be outfitted with an image capture device, such as acamera. During operation, the drone may receive one or moreinstructions, such as via a wireless network, which may cause the droneto navigate to the rooftop associated with the insurance claim and/or tocapture one or more images of the rooftop. The drone may, in addition,transmit the captured images, via the wireless network, to the backendsystem.

To detect hail fraud, the backend system may analyze the one or morecaptured images of the rooftop in question to determine whether thedamage to the rooftop is a result of mechanical damaged delivered by anindividual (e.g., for the purpose of insurance fraud) and/or naturallyoccurring as a result of hail. In particular, the backend system mayidentify a plurality of damaged locations, such as a plurality ofcraters, spread over the rooftop. The backend system may implement acomputer vision algorithm, such as an image recognition algorithm,machine learning algorithms, and/or artificial intelligence for thispurpose.

Having identified a plurality of damaged locations, the backend systemmay compare at least some of the damaged locations to one another todetermine whether the damaged locations are a result of mechanicaldamage and/or whether the damaged locations are a result of hail. Forexample, the backend system may analyze each of the plurality of damagedlocations to determine at least one of a size, a shape, a depth, and/orany other dimensional or geometric data of each of the damagedlocations. In some embodiments, the backend system may also analyze theplurality of damaged locations to determine a distance or spacingbetween each of the damaged locations.

As described above, a hail damaged rooftop may tend to include aplurality of damaged locations, or impact craters, that aredimensionally non-uniform and/or randomly or unequally spaced ordistributed (or that have anomalies or differences from each other) overthe surface of the rooftop. A mechanically damaged rooftop, on the otherhand, may tend to include one or more damaged locations are that aredimensionally uniform and/or equally distributed or spaced over thesurface of the rooftop. Thus, to determine the cause of the damage tothe rooftop, the backend system may compare the damaged locations to oneanother (e.g., compare one crater to another crater and/or a pluralityof craters to another plurality of craters), and based upon thecomparison, the backend system may determine the cause of the damage.Specifically, in the case that at least some of the damaged locationsare dimensionally similar and/or substantially uniformly or equallyspaced, the backend system may determine that the damage is a result ofmechanical damage (e.g., damage created for the purpose of insurancefraud). On the other hand, where the damaged locations (e.g. each crateror a set of craters) are dimensionally different and/or unequally spacedor distributed over the surface of the rooftop (e.g., where anomaliesexist), the backend system may determine that the damage is a result ofhail damage.

In some embodiments, the backend system may also analyze one or moreimages of one or more soft metal components on the rooftop (e.g., imagesof vents, gratings, exhaust features, and the like) to determine whetherthe damage to the rooftop is naturally occurring, or alternatively aresult of mechanical damage. For instance, the backend system may, insome cases, simply analyze the image of the soft metal components on therooftop to determine whether there is any damage whatsoever to thesecomponents. If damage exists, the backend system may determine or verifythat the damage to the rooftop is a result of hail damage (e.g., becausean individual attempting to cause mechanical damage to the rooftop maybe expected to overlook the soft metal components). In other cases, thebackend system may analyze the damage to the soft metal components asdescribed herein to determine the cause of the damage. For example,damaged locations having substantially identical dimensional featuresand/or that are evenly spaced over the surfaces of the soft metalcomponents may suggest mechanical damage, while damaged locations havingnon-uniform dimensional features and/or a non-uniform distribution orspacing may suggest hail damage.

Thus, the backend system may determine a cause of damage to a rooftopbased solely upon an analysis of one or more images of the rooftop inquestion. The backend system may not, in other words, require anadvanced machine learning algorithm, trained on a plurality of images ofknown hail damage and/or known mechanical damage, to make adetermination of a cause of damage to a rooftop.

Exemplary technical effects of the systems, methods, andcomputer-readable media described herein may include, for example: (a)collection of rooftop data by a drone aircraft or other computingdevice, such as a land-based rover and/or any other instrument, sensor,or device capable of collecting rooftop data; (b) analysis of therooftop data to detect a plurality of damaged locations; (c) analysis ofthe damaged locations in comparison to one another to determine, basedupon dimensional data and/or a spacing between the damaged locations,whether the damage is mechanical damaged and/or naturally occurring as aresult of hail; and (d) analysis of one or more images of one or moresoft metal components on the rooftop to determine whether the damage ismechanical damaged and/or naturally occurring as a result of hail.

Exemplary System for Hail Fraud Detection

As described herein, various system components may be communicativelycoupled in any suitable arrangement, such as, for example, via one ormore wired and/or wireless connections. Accordingly, although varioussystem components are described herein as capable of wiredcommunication, and/or wireless communications, it will be appreciatedthat, in various embodiments, such components may communicate in anysuitable manner and using any suitable communications protocol,including, for example, combinations of wired and/or wirelesscommunications.

FIG. 1 depicts a view of an exemplary computer system 100 for haildamage verification and/or hail fraud detection using computer visionand artificial intelligence. In one exemplary embodiment, system 100 mayinclude a client device, such as a client device 102. Client device 102may be associated with an individual, such as a user who has purchased,or who is interested in purchasing, an insurance policy. System 100 mayalso include network 104, a web server 106, a database server 108, adatabase 110, and an image capture device, such as a drone 112 capableof flight, a land-based rover (not shown), and/or any other instrument,sensor, and/or device capable of capturing one or more images of arooftop and/or capable of capturing, scanning, or otherwise obtainingrooftop data, such as image data and/or any other data representative ofand/or including dimensional and/or geometric data associated with oneor more impact craters on a rooftop. For example, in some embodiments,one or more rooftop mounted sensors, such as a plurality of laser levelsensors included in a rooftop mounted laser-level system, may be used tocollect rooftop data. Similarly, in other embodiments, one or more rangedetection systems, such as one or more radar systems, sonar systems,lidar systems, and the like may be used to collect rooftop data.

Accordingly, in the exemplary, client device 102 may be any personalcomputing device and/or any mobile communications device of a user, suchas a personal computer, a tablet computer, a smartphone, and the like.Client device 102 may be configured to present an application (e.g., asmartphone “app”) or a webpage, such as webpage or an app for processingor viewing an insurance claim. To this end, client device 102 mayinclude or execute software, such as a web browser, for viewing andinteracting with a webpage and/or an app.

Network 104 may be any electronic communications system, such as anycomputer network or collection of computer networks, and may incorporatevarious hardware and/or software. Communication over network 104 may beaccomplished via wired communication, or wireless communication or datatransmission over one or more radio frequency links or communicationchannels. For instance, communication over network 104 may beaccomplished via any suitable communication channels, such as, forexample, one or more telephone networks, one or more extranets, one ormore intranets, the Internet, one or more point of interaction devices(e.g., point of sale devices, smart phones or mobile devices, cellularphones), various online and/or offline communications systems, such asvarious local area and wide area networks, and the like.

Web server 106 may be any computer or computer system that is configuredto receive and process requests made via HTTP. Web server 106 may becoupled between client device 102 and database server 108. Moreparticularly, web server 106 may be communicatively coupled to clientdevice 102 via network 104. In various embodiments, web server 106 maybe directly coupled to database server 108 and/or communicativelycoupled to database server 108 via a network, such as network 104. Webserver 106 may, in addition, function to store, process, and/or deliverone or more web pages and/or any other suitable content to client device102. Web server 106 may, in addition, receive data, such as dataprovided to the app and/or webpage (as described herein) from clientdevice 102 for subsequent transmission to database server 108.

In various embodiments, web server 106 may implement various hardwareand/or software, such as, for example, one or more communicationprotocols, one or more message brokers, one or more data processingengines, one or more servlets, one or more application servers, and thelike. For instance, in one embodiment, web server 106 may implement anInternet of Things (IoT) protocol, such as a machine-to-machine IoTcommunications protocol (e.g., an MQTT protocol). In addition, invarious embodiments, web server 106 may implement a message brokerprogram module configured to translate a message or communications froma messaging protocol of a sending device to a messaging protocol of areceiving device (e.g., RABBITTMQ, KAFKA, ACTIVEMQ, KESTREL). Furtherstill, in some embodiments, web server 106 may implement a dataprocessing engine, such as a cluster computing framework like APACHESPARK. In addition, in various embodiments, web server 106 may implementservlet and/or JSP server, such as APACHE TOMCAT.

Database server 108 may be any computer or computer program thatprovides database services to one or more other computers or computerprograms. In various embodiments, database server 108 may becommunicatively coupled between web server 108 and database 110.Database server 108 may, in addition, function to process data receivedfrom web server 106.

Database 110 may be any organized collection of data, such as, forexample, any data organized as part of a relational data structure, anydata organized as part of a flat file, and the like. Database 110 may becommunicatively coupled to database server 108 and may receive datafrom, and provide data to, database server 108, such as in response toone or more requests for data, which may be provided via a databasemanagement system (DBMS) implemented on database server 108. In variousembodiments, database 110 may be a non-relational database, such as anAPACHE HADOOP database.

Drone 112 may be any device capable of capturing an image of a rooftop.For example, drone 112 may be an automated and/or remote controlleddevice capable capturing one or more aerial images of one or morerooftops. To this end, drone 112 may include an image capture device,such as a camera. Drone 112 may, in addition, include a radiotransmitter and/or receiver for receiving one or more instructions (suchas a navigation instruction and/or an instruction relating to an area tophotograph). The radio transmitter/receiver may also transmit one ormore captured images, such as by way of network 104, to client device102, web server 106, database server 108, and/or database 110. Thus,drone 112 may be used to acquire one or more images of one or morerooftops for analysis and evaluation, as described herein. Additionallyor alternatively, a remotely controlled or autonomous land-based roverequipped with a camera may acquire the rooftop images.

Although the components of system 100 are described below and depictedat FIG. 1 as being interconnected in a particular configuration, it iscontemplated that the systems, subsystems, hardware and softwarecomponents, various network components, and database systems describedherein may be variously configured and interconnected and maycommunicate with one another within system 100 to facilitate theprocesses and advantages described herein. For example, although asingle client device 102, a single network 104, a single web server 106,a single database server 108, a single database 110, and a single drone112 are described above, it will be appreciated that system 100 mayinclude any suitable number of interconnected, communicatively coupled,client device, networks, web servers, database servers, databases,and/or drones. Further, although certain functions, processes, andoperations are described herein with respect to one or more systemcomponents, it is contemplated that one or more other system componentsmay perform the functions, processes, and operations described herein.

Exemplary Client Device

FIG. 2 depicts an exemplary configuration of a client device 202, suchas client device 102, as shown in FIG. 1, and in accordance with oneembodiment of the present disclosure. Client device 202 may be operatedby a user 201. Client device 202 may include a processor 205 forexecuting instructions. In some embodiments, executable instructions maybe stored in a memory area 210. Processor 205 may include one or moreprocessing units (e.g., in a multi-core configuration). Memory area 210may be any device allowing information such as executable instructionsand/or transaction data to be stored and retrieved. Memory area 210 mayinclude one or more computer readable media.

Client device 202 may also include at least one media output component215 for presenting information to user 201. Media output component 215may be any component capable of conveying information to user 201. Insome embodiments, media output component 215 may include an outputadapter (not shown) such as a video adapter and/or an audio adapter. Anoutput adapter may be operatively coupled to processor 205 and adaptedto operatively couple to an output device such as a display device(e.g., a cathode ray tube (CRT), liquid crystal display (LCD), lightemitting diode (LED) display, or “electronic ink” display) or an audiooutput device (e.g., a speaker or headphones).

In some embodiments, media output component 215 may be configured topresent a graphical user interface (e.g., a web browser and/or a clientapplication) to user 201. A graphical user interface may include, forexample, an online store interface for viewing and/or purchasing items,and/or a wallet application for managing payment information. In someembodiments, client device 202 may include an input device 220 forreceiving input from user 201. User 201 may use input device 220 to,without limitation, select and/or enter data, such as, for example, oneor more report criteria or report filters.

Input device 220 may include, for example, a keyboard, a pointingdevice, a mouse, a stylus, a touch sensitive panel (e.g., a touch pad ora touch screen), a gyroscope, an accelerometer, a position detector, abiometric input device, and/or an audio input device. A single componentsuch as a touch screen may function as both an output device of mediaoutput component 215 and input device 220.

Client device 202 may also include a communication interface 225,communicatively coupled via network 110 to web server 112 (shown in FIG.1). Communication interface 225 may include, for example, a wired orwireless network adapter and/or a wireless data transceiver for use witha mobile telecommunications network.

Stored in memory area 210 are, for example, computer readableinstructions for providing a user interface to user 201 via media outputcomponent 215 and, optionally, receiving and processing input from inputdevice 220. A user interface may include, among other possibilities, aweb browser and/or a client application. Web browsers enable users, suchas user 201, to display and interact with media and other informationtypically embedded on a web page or a website.

Exemplary Database System

FIG. 3 depicts an exemplary server system 300 such as database server108 and database 110 and/or web server 106, as shown in FIG. 1, and inaccordance with one exemplary embodiment of the present disclosure.Accordingly, server system 300 may include a server computer device 301(e.g., database server 108), which may, in turn, include a processor 305for executing instructions. Instructions may be stored in a memory area310. Processor 305 may include one or more processing units (e.g., in amulti-core configuration).

Processor 305 may be operatively coupled to a communication interface315 such that server computer device 301 is capable of communicatingwith a remote computing device, as described above. For example,communication interface 315 may receive requests from client device 202via the Internet and/or over a computer network.

Processor 305 may also be operatively coupled to a storage device 334(e.g., database 116). Storage device 334 may be any computer-operatedhardware suitable for storing and/or retrieving data, such as, but notlimited to, data associated with database 320. In some embodiments,storage device 334 may be integrated in server computer device 301. Forexample, server computer device 301 may include one or more hard diskdrives as storage device 334.

In other embodiments, storage device 334 may be external to servercomputer device 301 and may be accessed by a plurality of servercomputer devices 301. For example, storage device 334 may include astorage area network (SAN), a network attached storage (NAS) system,and/or multiple storage units such as hard disks and/or solid statedisks in a redundant array of inexpensive disks (RAID) configuration.

In some embodiments, processor 305 may be operatively coupled to storagedevice 334 via a storage interface 320. Storage interface 320 may be anycomponent capable of providing processor 305 with access to storagedevice 334. Storage interface 320 may include, for example, an AdvancedTechnology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, aSmall Computer System Interface (SCSI) adapter, a RAID controller, a SANadapter, a network adapter, and/or any component providing processor 305with access to storage device 334.

Exemplary Mechanically Damaged Rooftop and Exemplary Hail DamagedRooftop

FIG. 4 illustrates an exemplary partial rooftop 400 that includesfraudulent mechanical damage. As described above, fraudulent mechanicaldamage may be created by an individual using a blunt instrument, such asa “lean stick” (e.g., an elongated stick or staff), a hammer, and/or anyother device or instrument capable of creating a depression or crater ina surface of a rooftop.

As shown, the damage caused by a lean stick or hammer may include aplurality of craters, such as, for example, craters 402, 404, and 406.Because the same instrument is used to create each of craters 402, 404,and 406, each of craters 402, 404, and 406 are dimensionally identicalor, at least, dimensionally similar. Specifically, each of craters 402,404, and 406 has an identical or similar shape, an identical or similarsize, and/or, in many cases, an identical or similar depth. For example,each of craters 402, 404, and 406 is approximately circular. Inaddition, the diameter of each crater 402, 404, and 406 is approximatelythe same, and the depth of each crater 402, 404, and 406 is alsoapproximately the same.

Moreover, in some cases, as can be seen at FIG. 4, the distance betweeneach crater 402, 404, and 406 is roughly uniform. For example, thedistance 408 between crater 402 and crater 404 is approximately the sameas the distance 410 between crater 402 and crater 406. In many cases,this phenomenon is a consequence of the fact that the individual formingcraters 402, 404, and 406 simply moves the instrument (e.g., the leanstick) the individual is using to make craters 402, 404, and 406 by anapproximately equal distance each time the individual places theinstrument on rooftop 400 to make a new crater. It is possible that theindividual might form a plurality of craters in rooftop 400 in a morerandom, or unequally spaced, and generally arcing arrangement 412;however, as described herein, such an effort may not affect the size,shape, depth, and/or other geometric characteristics of each of theplurality of craters. Moreover, the general arcing arrangement ofarrangement 412 may also be indicative of the individual using a hammerto form these craters. Therefore, although arcing arrangement 412 is amore random spacing of craters in rooftop 400 as compared to the spacingof craters 402, 404 and 406, the craters of arrangement 412 are stillrepresentative of fraudulent mechanical damage because the otherattributes of these craters (e.g., arcing pattern, size, shape, depth,and/or other geometric characteristics) are all the same or similar, andthus, indicate that these craters were more likely produced by anindividual using an instrument (e.g., lean stick, hammer, and/or otherdevice) for fraudulent purposes.

Further, in some cases, the individual responsible for fraudulentmechanical damage may strike or otherwise damage each of a plurality ofroof tiles substantially in the center of each roof tile. Damageappearing at the center of a plurality of roof tiles may, like size,shape, depth, and spacing, be another telltale sign that the damage torooftop 400 was caused by the activity of an individual on rooftop 400.

FIG. 5 illustrates an exemplary partial rooftop 500 that includes haildamage. Unlike the mechanical damage to rooftop 400, the damage torooftop 500 is naturally occurring damage resulting from the impact ofhailstones on rooftop 500.

Accordingly, and as shown, hail damage may include a plurality ofcraters, such as, for example, craters 502, 504, and 506. Because thehailstones that created each of craters 502, 504, and 506 are different,each of craters 502, 504, and 506 are dimensionally different ornon-uniform. Specifically, each of craters 502, 504, and 506 has adifferent shape, a different size, and/or, in many cases, a differentdepth. In addition, the diameters of each crater 502, 504, and 506 aredifferent.

Moreover, as can be seen at FIG. 5, the distance between each crater502, 504, and 506 is roughly non-uniform. For example, the distance 508between crater 502 and crater 504 is different from the distance 510between crater 502 and crater 506.

Exemplary Processes for Hail Fraud Detection

FIG. 6 depicts a flowchart of an exemplary computer-implemented process400 implemented by computer system 100 (shown in FIG. 1) for verifyingactual hail damage and/or detecting hail fraud. Accordingly, in theexemplary embodiment, system 100 (e.g., client device 102, system webserver 106 and/or database server 108) may receive at least one image ofa rooftop, such as rooftop 400 and/or rooftop 500 (step 602). The imagemay be received from drone 122 (or additionally or alternatively from aland-based robot remotely controlled or autonomous rover equipped with acamera) via network 104. In addition, in some embodiments, the at leastone image may be received from any other suitable image capture deviceand/or sensor, such as, for example, by a handheld camera and/or, insome cases, by a satellite equipped with one or more image capturedevices (e.g., a satellite orbiting the earth). Further, as describedabove, rooftop data, including image data, may be captured by any othersuitable image capture device/sensor and/or data collection system, suchas any range detection system (e.g., radar, sonar, and/or lidar system).

System 100 may, in addition, analyze the at least one image of rooftop400 and/or rooftop 500 to identify a plurality of damaged locations,such as, for example, a plurality of craters (step 604). For example,system 100 may analyze an image of rooftop 400 to identify craters 402,404, and/or 406. Likewise, system 100 may analyze an image of rooftop500 to identify craters 502, 504, and/or 506. The plurality of cratersmay be identified based upon an image recognition process, with may beimplemented by way of a computer vision algorithm and/or via anartificial intelligence operating on system 100.

System 100 may also analyze each of the plurality of craters todetermine various attributes of each crater. For example, system 100 mayanalyze each of the plurality of craters to determine a size, a shape, adepth, and/or a diameter of each crater. System 100 may also analyzeeach of the plurality of craters to determine a distance or spacingbetween each crater.

To determine whether the plurality of craters are a result of(fraudulent) mechanical damage or whether they are naturally occurringas a result of hail, system 100 may compare one or more craters to oneor more other craters on the rooftop being analyzed (step 606).

For example, system 100 may analyze the plurality of craters todetermine a shape, a size, a depth, and/or any other dimensional dataassociated with each of the plurality of craters. Based upon theanalysis, system 100 may determine that the shape and the size of atleast one of the plurality of craters is substantially identical to theshape and the size of at least one other crater. In such a case (andparticularly where a plurality of craters are substantially identical inshape, size, depth, and the like), system 100 may determine that thecraters were created as a result of mechanical damage to the rooftop. Inother words, system 100 may, as a result, determine that the craterswere intentionally created for the purpose of insurance fraud. Such arooftop is depicted and described above with respect to FIG. 4.

On the other hand, system 100 may analyze the plurality of craters todetermine a shape, a size, a depth, and/or any other dimensional dataassociated with each of the plurality of craters. Based upon theanalysis, system 100 may determine that the shape and the size of atleast one of the plurality of craters is not substantially identical tothe shape and the size of at least one other crater. In such a case (andparticularly where a plurality of craters are not substantiallyidentical in shape, size, depth, and the like), system 100 may determinethat the craters were not created as a result of mechanical damage tothe rooftop but as a result of naturally occurring hail damage. In otherwords, system 100 may, as a result, determine that the craters were notintentionally created for the purpose of insurance fraud. Such a rooftopis depicted and described above with respect to FIG. 5.

In some embodiments, system 100 may also analyze the plurality ofcraters to determine a distance or spacing between at least some of thecraters. Based upon the analysis, system 100 may determine that thedistance between at least some of the craters is substantially identicalor substantially uniform. In such a case (and particularly where thedistance or spacing between a plurality of craters is substantiallyuniform), system 100 may determine that the craters were created as aresult of mechanical damage to the rooftop. In other words, system 100may, as a result, determine that the craters were intentionally createdfor the purpose of insurance fraud. Such a rooftop is depicted anddescribed above with respect to FIG. 4.

On the other hand, system 100 may also analyze the plurality of cratersto determine a distance or spacing between at least some of the craters.Based upon the analysis, system 100 may determine that the distancebetween at least some of the craters is not substantially identical orsubstantially uniform. Rather, system 100 may determine that thedistance or spacing between at least some of the craters issubstantially non-uniform or random. In such a case (and particularlywhere the distance or spacing between a plurality of craters issubstantially non-uniform or random, for instance, anomalies ordifferences among the craters exist), system 100 may determine that thecraters were not created as a result of mechanical damage to the rooftopand/or that the craters are naturally occurring as a result of hail. Inother words, system 100 may, as a result, verify that actual hail damageexists and/or otherwise determine that the craters were notintentionally created for the purpose of insurance fraud. Such a rooftopis depicted and described above with respect to FIG. 5.

Further, in some embodiments, system 100 may be configured to implementa machine learning algorithm (e.g., by way of an artificial intelligenceimplemented on system 100). The machine learning algorithm may beconfigured to compare a plurality of damaged locations, such as aplurality of craters, to a plurality of patterns or shapes or anomaliesassociated with known hail damage. For example, an artificialintelligence of system 100 may analyze a plurality of rooftops that areknown to include hail damage to identify or “learn” one or morepatterns, shapes, or other common attributes of rooftops that haveexperienced hail damage. Additionally or alternatively, an artificialintelligence of system 100 may analyze a plurality of anomalies that areknown to include actual hail damage and/or that were caused by hail toidentify or “learn” one or more patterns, shapes, or other commonattributes of rooftops that have experienced hail damage.

System 100 may analyze a rooftop or perform a comparison of a rooftop(e.g., rooftop 400 and/or rooftop 500) based upon the patterns, shapes,or other common attributes that the artificial intelligence implementedon system 100 has learned to determine whether the rooftop 400 and/or500 includes actual hail damage or anomalies caused by hail and/oralternatively fraudulent mechanical damage.

In various embodiments, system 100 may also receive at least one imageof a soft metal component mounted on a rooftop. A soft metal componentmay include, for example, a grating, a vent, and/or any other componentmounted on a rooftop that is susceptible to hail damage and that is nota roof shingle. System 100 may, in addition to analyses described above,analyze the image of the soft metal component to identify at least onedamaged location or anomaly on the soft metal component. For example,system 100 may implement a computer vision algorithm and/or anartificial intelligence to identify one or more damaged locations, suchas one or more craters or other anomalies, on the soft metal component.

System 100 may, in addition, determine, based upon the analysis of thesoft metal component, whether the craters identified in the soft metalcomponent are a result of naturally occurring hail damage, oralternatively, whether the craters are a result of mechanical damagedelivered by an individual for the purposed of insurance fraud.

For example, and as described above, system 100 may analyze a pluralityof craters in a soft metal component to determine a shape, a size, adepth, and/or any other dimensional data associated with each of theplurality of craters. Based upon the analysis, system 100 may determinethat the shape and the size of at least one of the plurality of cratersis substantially identical to the shape and the size of at least oneother crater. In such a case (and particularly where a plurality ofcraters are substantially identical in shape, size, depth, and thelike), system 100 may determine that the craters were created as aresult of mechanical damage to the soft metal component. In other words,system 100 may, as a result, determine that the craters wereintentionally created for the purpose of insurance fraud.

On the other hand, system 100 may analyze the plurality of craters todetermine a shape, a size, a depth, and/or any other dimensional data orother anomalies associated with each of the plurality of craters. Basedupon the analysis, system 100 may determine that the shape and the sizeof at least one of the plurality of craters is not substantiallyidentical to the shape and the size of at least one other crater (and/ormay be anomaly or different from other craters in a roof). In such acase (and particularly where a plurality of craters are notsubstantially identical in shape, size, depth, and the like), system 100may determine that the craters were not created as a result ofmechanical damage to the soft metal component but as a result ofnaturally occurring hail damage. In other words, system 100 may, as aresult, determine that the craters were not intentionally created forthe purpose of insurance fraud.

In some embodiments, system 100 may also analyze a plurality of cratersin a soft metal component to determine a distance or spacing between atleast some of the craters. Based upon the analysis, system 100 maydetermine that the distance between at least some of the craters issubstantially identical or substantially uniform. In such a case (andparticularly where the distance or spacing between a plurality ofcraters is substantially uniform), system 100 may determine that thecraters were created as a result of mechanical damage to the soft metalcomponent. In other words, system 100 may, as a result, determine thatthe craters were intentionally created for the purpose of insurancefraud.

On the other hand, system 100 may also analyze the plurality of cratersin a soft metal component to determine a distance or spacing between atleast some of the craters. Based upon the analysis, system 100 maydetermine that the distance between at least some of the craters is notsubstantially identical or substantially uniform. Rather, system 100 maydetermine that the distance or spacing between at least some of thecraters is substantially non-uniform or random. In such a case (andparticularly where the distance or spacing between a plurality ofcraters is substantially non-uniform or random), system 100 maydetermine that the craters were not created as a result of mechanicaldamage to the soft metal component and/or that the craters are naturallyoccurring as a result of hail (to verify actual hail damage hadoccurred). In other words, system 100 may, as a result, determine thatthe craters were not intentionally created for the purpose of insurancefraud.

FIG. 7 illustrates a flowchart of another exemplary computer-implementedprocess 700 implemented by computer system 100 (shown in FIG. 1) forhail damage verification and/or hail fraud detection using computervision and artificial intelligence. Accordingly, in one exemplaryembodiment, system 100 (e.g., client device 102, system web server 106and/or database server 108) may receive at least one image of a rooftop,such as rooftop 400 and/or rooftop 500 (step 702). The image may bereceived from drone 122 via network 104.

System 100 may, in addition, analyze the at least one image of rooftop400 and/or rooftop 500 to identify a plurality of damaged locations,such as, for example, a plurality of craters (step 704). For example,system 100 may analyze an image of rooftop 400 to identify craters 402,404, and/or 406. Likewise, system 100 may analyze an image of rooftop500 to identify craters 502, 504, and/or 506. The plurality of cratersmay be identified based upon an image recognition process, with may beimplemented by way of a computer vision algorithm and/or via anartificial intelligence operating on system 100.

To determine whether the plurality of craters are a result of(fraudulent) mechanical damage or whether they are naturally occurringas a result of hail (verified as hail damage0, system 100 may analyzethe plurality of craters to determine a shape, a size, a depth, and/orany other dimensional data associated with each of the plurality ofcraters (step 706). Based upon the analysis, system 100 may determinewhether the shape and the size of at least one of the plurality ofcraters is substantially identical to the shape and the size of at leastone other crater (step 707). Where the shape, size, and/or depth of atleast one of the plurality of craters is substantially identical to theshape, size, and/or depth of at least one other crater, system 100 maydetermine that the craters were created as a result of mechanical damageto the rooftop (step 708). In other words, system 100 may, as a result,determine that the craters were intentionally created for the purpose ofinsurance fraud.

On the other hand, where the shape, size, and/or depth of at least oneof the plurality of craters is not substantially identical to the shape,size, and/or depth of at least one other crater, system 100 maydetermine that the craters were not created as a result of mechanicaldamage to the rooftop (step 710). In other words, system 100 may, as aresult, determine that the craters were not intentionally created forthe purpose of insurance fraud but that the craters are naturallyoccurring as a result of hail.

FIG. 8 illustrates a flowchart of another exemplary computer-implementedprocess 800 implemented by computer system 100 (shown in FIG. 1) forhail damage verification and/or hail fraud detection using computervision and artificial intelligence. Accordingly, in an exemplaryembodiment, system 100 (e.g., client device 102, system web server 106and/or database server 108) may receive at least one image of a rooftop,such as rooftop 400 and/or rooftop 500 (step 802). The image may bereceived from drone 122 via network 104.

System 100 may, in addition, analyze the at least one image of rooftop400 and/or rooftop 500 to identify a plurality of damaged locations,such as, for example, a plurality of craters (step 804). For example,system 100 may analyze an image of rooftop 400 to identify craters 402,404, and/or 406. Likewise, system 100 may analyze an image of rooftop500 to identify craters 502, 504, and/or 506. The plurality of cratersmay be identified based upon an image recognition process, with may beimplemented by way of a computer vision algorithm and/or via anartificial intelligence operating on system 100.

To determine whether the plurality of craters are a result of(fraudulent) mechanical damage or whether they are naturally occurringas a result of hail, system 100 may analyze the plurality of craters todetermine a distance or spacing between at least some of the pluralityof craters (step 806). Based upon the analysis, system 100 may determinewhether the distance or spacing between at least some of the pluralityof craters is substantially uniform (e.g., whether the distances betweencraters is roughly equal) (step 807). Where the spacing or distancesbetween at least some of the plurality of craters is substantiallyuniform, system 100 may determine that the craters were created as aresult of mechanical damage to the rooftop (step 808). In other words,system 100 may, as a result, determine that the craters wereintentionally created for the purpose of insurance fraud.

On the other hand, where the spacing or distances between at least someof the plurality of craters is substantially uniform, system 100 maydetermine that the craters were not created as a result of mechanicaldamage to the rooftop (step 810). In other words, system 100 may, as aresult, determine that the craters were not intentionally created forthe purpose of insurance fraud but that the craters are naturallyoccurring as a result of hail.

FIG. 9 illustrates a flowchart of another exemplary computer-implementedprocess 900 implemented by computer system 100 (shown in FIG. 1) forhail damage verification and/or hail fraud detection using computervision and artificial intelligence. Accordingly, in one exemplaryembodiment, system 100 (e.g., client device 102, system web server 106and/or database server 108) may receive at least one image of a rooftop,such as rooftop 400 and/or rooftop 500 (step 902). The image may bereceived from drone 122 via network 104.

System 100 may, in addition, analyze the at least one image of rooftop400 and/or rooftop 500 to identify a plurality of damaged locations,such as, for example, a plurality of craters (step 904). For example,system 100 may analyze an image of rooftop 400 to identify craters 402,404, and/or 406. Likewise, system 100 may analyze an image of rooftop500 to identify craters 502, 504, and/or 506. The plurality of cratersmay be identified based upon an image recognition process, with may beimplemented by way of a computer vision algorithm and/or via anartificial intelligence operating on system 100.

To determine whether the plurality of craters are a result of(fraudulent) mechanical damage or whether they are naturally occurringas a result of hail, system 100 may analyze the plurality of craters todetermine a shape, a size, a depth, and/or any other dimensional dataassociated with each of the plurality of craters and/or a distance orspacing between each of the plurality of craters (step 906). Based uponthe analysis, system 100 may determine whether the shape, size, and/ordepth of at least one of the plurality of craters is substantiallyidentical to the shape, size, and/or depth of at least one other crater(step 908).

Where the shape, size, and/or depth of at least one of the plurality ofcraters is substantially identical to the shape, size, and/or depth ofat least one other crater, system 100 may determine that the craterswere created as a result of mechanical damage to the rooftop. Similarly,where the spacing between craters is substantially uniform, system 100may determine that the craters were created as a result of mechanicaldamage to the rooftop. On the other hand, where the shape, size, and/ordepth of at least one of the plurality of craters is not substantiallyidentical to the shape, size, and/or depth of at least one other crater(i.e., anomalies or differences exist), system 100 may determine thatthe craters were not created as a result of mechanical damage to therooftop. Similarly, where the spacing between craters is notsubstantially uniform, system 100 may determine that the craters werenot created as a result of mechanical damage to the rooftop.

Exemplary Embodiments & Functionality

In one aspect, a computer system for verifying hail damage and/ordetecting hail fraud may be provided. In some exemplary embodiments, thesystem includes a processor and a non-transitory, tangible,computer-readable storage medium having instructions stored thereonthat, in response to execution by the processor, cause the processor toperform operations including: (i) receiving at least one image of atleast a portion of a rooftop; (ii) analyzing the at least one image toidentify a plurality of damaged locations; (iii) analyzing the pluralityof damaged locations to determine a shape and a size of each of theplurality of damaged locations; and/or (iv) at least one of: (a)determining, based upon the analyzing, that the shape and the size of atleast one of the plurality of damaged locations is substantiallyidentical to the shape and the size of at least one other damagedlocation of the plurality of damaged locations to determine that theplurality of damaged locations are not a result of hail damage; or (b)determining, based upon the analyzing, that the shape and the size of atleast one of the plurality of damaged locations is not substantiallyidentical to the shape and the size of at least one other damagedlocation of the plurality of damaged locations to determine that theplurality of damaged locations are a result of hail damage. The systemmay include additional, less, or alternate functionality, including thatdiscussed elsewhere herein.

In another aspect, a computer system for verifying hail damage and/ordetecting hail fraud may be provided. In some exemplary embodiments, thesystem may include a processor and a non-transitory, tangible,computer-readable storage medium having instructions stored thereonthat, in response to execution by the processor, cause the processor toperform operations including: (i) receiving at least one image of atleast a portion of a rooftop; (ii) analyzing the at least one image toidentify a plurality of damaged locations; (iii) analyzing the pluralityof damaged locations to determine a distance between each of theplurality of damaged locations; and/or (iv) at least one of: (a)determining, based upon the analyzing, that the distance between atleast some of the plurality of damaged locations is substantiallyuniform to determine that the plurality of damaged locations are not aresult of hail damage; or (b) determining, based upon the analyzing,that the distance between at least some of the plurality of damagedlocations is not substantially uniform to determine that the pluralityof damaged locations are a result of hail damage. The system may includeadditional, less, or alternate functionality, including that discussedelsewhere herein.

In another aspect, a computer system for verifying hail damage and/ordetecting hail fraud may be provided. In some exemplary embodiments, thesystem may include a processor and a non-transitory, tangible,computer-readable storage medium having instructions stored thereonthat, in response to execution by the processor, cause the processor toperform operations including: (i) receiving at least one image of atleast a portion of a rooftop; (ii) analyzing the at least one image toidentify a plurality of damaged locations; (iii) analyzing the pluralityof damaged locations to determine a distance between each of theplurality of damaged locations, a size of each of the plurality ofdamaged locations, and a shape of each of the plurality of damagedlocations; and/or (iv) analyzing at least one of the distance betweeneach of the plurality of damaged locations, the size of each of theplurality of damaged locations, and the shape of each of the pluralityof damaged locations to determine whether the plurality of damagedlocations are a result of hail damage. The system may includeadditional, less, or alternate functionality, including that discussedelsewhere herein.

In another aspect, a computer system for verifying hail damage and/ordetecting hail fraud may be provided. In some exemplary embodiments, thesystem may include a processor and a non-transitory, tangible,computer-readable storage medium having instructions stored thereonthat, in response to execution by the processor, cause the processor toperform operations including: (i) receiving at least one image of atleast a portion of a rooftop; (ii) analyzing the at least one image toidentify a plurality of damaged locations; and/or (iii) comparing theplurality of damaged locations to each other to determine whether theplurality of damaged locations are a result of hail damage. The systemmay include additional, less, or alternate functionality, including thatdiscussed elsewhere herein.

In yet another aspect, a computer-implemented method for verifying haildamage and/or hail fraud detection is provided. The method may include:(i) receiving, by a processor, at least one image of at least a portionof a rooftop; (ii) analyzing, by the processor, the at least one imageto identify a plurality of damaged locations; and/or (iii) comparing, bythe processor, the plurality of damaged locations to each other todetermine whether the plurality of damaged locations are a result ofhail damage. The method may include additional, less, or alternateactions, including those discussed elsewhere herein.

Machine Learning & Other Matters

The computer-implemented methods discussed herein may includeadditional, less, or alternate actions, including those discussedelsewhere herein. The methods may be implemented via one or more localor remote processors, transceivers, servers, and/or sensors (such asprocessors, transceivers, servers, and/or sensors mounted on vehicles ormobile devices, or associated with smart infrastructure or remoteservers), and/or via computer-executable instructions stored onnon-transitory computer-readable media or medium.

Additionally, the computer systems discussed herein may includeadditional, less, or alternate functionality, including that discussedelsewhere herein. The computer systems discussed herein may include orbe implemented via computer-executable instructions stored onnon-transitory computer-readable media or medium.

A processor or a processing element may be trained using supervised orunsupervised machine learning, and the machine learning program mayemploy a neural network, which may be a convolutional neural network, adeep learning neural network, or a combined learning module or programthat learns in two or more fields or areas of interest. Machine learningmay involve identifying and recognizing patterns and/or anomalies inexisting data in order to facilitate making predictions for subsequentdata. Models may be created based upon example inputs in order to makevalid and reliable predictions for novel inputs.

Additionally or alternatively, the machine learning programs may betrained by inputting sample data sets or certain data into the programs.The data input may include data or images related to actual hail damage,hail damage anomalies, mechanical damage, and/or images from drones,mobile devices, or land-based rovers. The data may also include smart orautonomous vehicle and/or intelligent home data. The machine learningprograms may utilize deep learning algorithms that may be primarilyfocused on pattern recognition, and may be trained after processingmultiple examples. The machine learning programs may include Bayesianprogram learning (BPL), voice recognition and synthesis, image or objectrecognition, optical character recognition, and/or natural languageprocessing—either individually or in combination. The machine learningprograms may also include natural language processing, semanticanalysis, automatic reasoning, and/or machine learning.

In supervised machine learning, a processing element may be providedwith example inputs and their associated outputs, and may seek todiscover a general rule that maps inputs to outputs, so that whensubsequent novel inputs are provided the processing element may, basedupon the discovered rule, accurately predict the correct output. Inunsupervised machine learning, the processing element may be required tofind its own structure in unlabeled example inputs.

Exemplary Hail Fraud Detection Capability on Composite Roofs UsingComputer Vision and Artificial Intelligence

Insurance providers may spend resources and potentially pay claims itdoes not owe on insurance fraud with regard to hail damage. Detectingfraudulent damage is time consuming to do manually. The presentembodiments provide a computer-implemented method to detect mechanicaldamage (damage caused intentionally with force and/or a device of sometype) that indicates the presence of fraud on a composite (i.e., asphaltshingle) roof by analyzing pictures of the roof with computer vision andartificial intelligence. This may be done by collecting imagery of aroof from a reasonable distance (either from the roof or with a deviceto get above the roof—pole, drone, etc.) and developing classifiers tobe used to analyze the images using the methods listed below.

A. Comparing Anomaly Impact Signatures

Hail may be random in size, shape (round and smooth versus bumpy orsharp edges), density, and weight. All of these factors contribute tovariation in impact signatures across the population of samples of agiven roof after a hail storm. Therefore, if one analyzes the anomalies'impact signatures and finds enough similarity in them this may be anindicator of mechanical damage. Put another way, the lack of variationin impact signatures may indicate mechanical damage. For example, if aleaning stick is used to create mechanical damage, all of the impactcraters may look similar at the pixel level even if there is variationin the amount of force used. The craters simply will lack enoughvariation among themselves.

B. Looking for Patterns of Anomaly Placement Across the Slope of a Roof

Patterns may emerge when analyzing what seem to be hail anomalies due tofactors such as using the same hand to swing a hammer or other device.The impacts may have patterns of distance, arching, etc. due to thelimited length of one's arm, swing pattern, etc. Patterns may alsoemerge when analyzing what seem to be hail anomalies due to thedirection the person is moving across the roof. For instance, if aperson is using a leaning stick or hammer to make impact marks, not onlywill their impact signatures look similar as described above, there ispotential the impact angle will be the same across one slope. If theyworked from, say, east to west on one slope, then crossed the ridge tothe opposite slope and worked their way west to east, the impactsignatures would likely be at opposite angles. This opposite angleeffect is different from what would be expected from hail that would allcome from the same direction due to wind resulting in all impacts beingat the same angle.

C. Looking for Damage Anomalies in Suspect Areas of the Roof

When hail affects an insured home it is very likely that the entire areaof the roof exposed to the direction the wind is driving the hail wouldsustain damage. Therefore, finding damage clusters confined to easy toreach places may indicate mechanical damage. For example, a valley is aneasy place to climb on a roof. If there are instance of damage within areasonable distance (indicating the length of reach of a person) but notfarther out where hail would be expected, this may indicate mechanicaldamage. Another example is along the length of a slope but not fartherup than can be reached from a ladder.

D. Looking for the Absence of Anomalies where they would be Expected

When hail affects an insured home, it is very likely that if the roofmaterial, i.e., shingles, is damage there will be other indicators ofhail damage on other materials, objects, etc. For example, if there isshingle damage, then there are other appurtenances on the roof thatwould be expected to be damaged, such as chimney vents, roof vents,valley tin, drip edge, gutters, etc. There is also potential for haildamage on other items and structures, such as A/C condenser housings,fence, shed or other out building, etc. Finding an absence of haildamage on these other candidates for damage may be an indication thatthe damage to the roof was caused intentionally and confined to theshingles. Alternatively, finding hail damage on these other candidatesmay be an indication of actual hail damage.

E. Exemplary Computer-Implemented Method

FIG. 10 illustrates a flowchart of another exemplarycomputer-implemented method for hail damage verification and/or hailfraud detection 1000. The method 1000 may include, via one or moreprocessors and/or transceivers, collecting images and/or image data of aroof and/or house 1002, and analyzing the imagery to verify actual haildamage or flag for potential fraud 1004. The method 1000 may include,via the one or more processors, comparing anomaly impact signatures1006, looking or analyzing for patterns of anomaly placement across theslope of a roof 1008, looking or analyzing for damage anomalies insuspect areas of the roof 1010, and/or looking or analyzing for theabsence of anomalies where they would be expected 1012. The method 1000may include, via the one or more processors and/or associatedtransceivers, determining if actual hail damage or alternatively thepotential for fraud exists 1014, displaying a message that potentialfraud exists 1016 or that potential fraud does not exist or actual haildamage exists 1018. The method may include additional, less, oralternate actions, including those discussed elsewhere herein.

Additional Embodiments

In one aspect, a computer system for verifying hail damage and/ordetecting hail fraud may be provided. In some exemplary embodiments, thesystem may include a processor and a non-transitory, tangible,computer-readable storage medium having instructions stored thereonthat, in response to execution by the processor, cause the processor toperform operations including: (i) receiving at least one image of atleast a portion of a rooftop; (ii) analyzing the at least one image toidentify a plurality of damaged locations; and/or (iii) comparing theplurality of damaged locations to each other to determine whether theplurality of damaged locations are a result of hail damage.

In some embodiments, the processor may be configured to performoperations further comprising determining, based upon the analyzing,that a shape and a size of at least one of the plurality of damagedlocations is substantially identical to a shape and a size of at leastone other damaged location of the plurality of damaged locations todetermine that the plurality of damaged locations are not a result ofhail damage. Additionally or alternatively, the processor may beconfigured to perform operations comprising determining that theplurality of damaged locations are a result of mechanical damagedelivered by an individual. In some embodiments, the processor may beconfigured to perform operations comprising determining, based upon theanalyzing, that a shape and a size of at least one of the plurality ofdamaged locations is not substantially identical to a shape and a sizeof at least one other damaged location of the plurality of damagedlocations to determine that the plurality of damaged locations are aresult of hail damage.

The processor may further be configured to perform operations comprisingdetermining, based upon the analyzing, that a distance between at leastsome of the plurality of damaged locations is substantially uniform todetermine that the plurality of damaged locations are not a result ofhail damage. Additionally or alternatively, the processor may beconfigured to perform operations comprising determining that theplurality of damaged locations are a result of mechanical damagedelivered by an individual. In some embodiments, the processor may beconfigured to perform operations comprising determining, based upon theanalyzing, that a distance between at least some of the plurality ofdamaged locations is not substantially uniform to determine that theplurality of damaged locations are a result of hail damage.

The processor may be configured to perform operations comprisingimplementing a machine learning algorithm to compare the plurality ofdamaged locations to a plurality of patterns and shapes associated withknown hail damage. Additionally or alternatively, the processor may beconfigured to perform operations comprising receiving at least one imageof a soft metal component mounted on the rooftop. In some embodiments,the processor may be configured to perform operations comprisinganalyzing the at least one image of the soft metal component to identifyat least one damaged location in the soft metal component.

The processor may be configured to perform operations comprisingdetermining, in response to the analyzing, that the plurality of damagedlocations are a result of hail damage. In some embodiments, theprocessor may be configured to perform operations comprising analyzingthe at least one image of the soft metal component to determine that thesoft metal component is undamaged. Additionally or alternatively, theprocessor may be configured to perform operations comprisingdetermining, in response to the analyzing, that the plurality of damagedlocations are not a result of hail damage. The system may includeadditional, less, or alternate functionality, including that discussedelsewhere herein.

In yet another aspect, a computer-implemented method for verifying haildamage and/or hail fraud detection is provided. The method may include:(i) receiving, by a processor, at least one image of at least a portionof a rooftop; (ii) analyzing, by the processor, the at least one imageto identify a plurality of damaged locations; and/or (iii) comparing, bythe processor, the plurality of damaged locations to each other todetermine whether the plurality of damaged locations are a result ofhail damage.

The method may include determining, by the processor and based upon theanalyzing, that a shape and a size of at least one of the plurality ofdamaged locations are substantially identical to a shape and a size ofat least one other damaged location of the plurality of damagedlocations to determine that the plurality of damaged locations are not aresult of hail damage. Additionally or alternatively, the method mayinclude determining that the plurality of damaged locations are a resultof mechanical damage delivered by an individual. In some embodiments,based upon the analyzing, the method may include determining that ashape and a size of at least one of the plurality of damaged locationsare not substantially identical to a shape and a size of at least oneother damaged location of the plurality of damaged locations todetermine that the plurality of damaged locations are a result of haildamage.

The method may include determining, based upon the analyzing, that adistance between at least some of the plurality of damaged locations issubstantially uniform to determine that the plurality of damagedlocations are not a result of hail damage. Additionally oralternatively, the method may include determining that the plurality ofdamaged locations are a result of mechanical damage delivered by anindividual. In some embodiments, the method may include determining,based upon the analyzing, that a distance between at least some of theplurality of damaged locations is not substantially uniform to determinethat the plurality of damaged locations are a result of hail damage. Themethod may include implementing a machine learning algorithm to comparethe plurality of damaged locations to a plurality of patterns and shapesassociated with known hail damage.

The method may include receiving at least one image of a soft metalcomponent mounted on the rooftop. Additionally or alternatively, themethod may include analyzing the at least one image of the soft metalcomponent to identify at least one damaged location in the soft metalcomponent. In some embodiments, in response to the analyzing, the methodmay include determining that the plurality of damaged locations are aresult of hail damage. The method may include analyzing the at least oneimage of the soft metal component to determine that the soft metalcomponent is undamaged. The method may further include determining, inresponse to the analyzing, that the plurality of damaged locations arenot a result of hail damage. The method may include additional, less, oralternate actions, including those discussed elsewhere herein.

In another aspect, a computer system for verifying hail damage usingcomputer vision and/or artificial intelligence. The computer system mayinclude a processor; an associated transceiver; and a non-transitory,tangible, computer-readable storage medium having instructions storedthereon that, in response to execution by the processor, cause theprocessor and/or associated transceiver to perform operationscomprising: (1) receiving (via wired communication, and/or wirelesscommunication or data transmission over one or more radio frequencylinks or communication channels) or retrieving images or image data oftwo or more impact signatures or craters in roofing material of a roofof a building; (2) analyzing the images or image data to determinewhether one or more anomalies exist among the two or more impactsignatures or craters in the roofing material; (3) if one or moreanomalies exist among the two or more impact signatures, generating anelectronic message indicating that the actual hail damage exists in theroofing material or that the damaged locations in the roofing materialare a result of hail damage; and/or (4) transmitting, via wiredcommunication, and/or wireless communication or data transmission overone or more radio frequency links or communication channels, theelectronic message to a user mobile device or other computing device tofacilitate handling and promptly resolving insurance claims caused byhail damage.

The images or image data may be acquired by and received from aremote-controlled or autonomous aerial drone equipped with a camera, orfrom a remote-controlled or autonomous rover equipped with a cameraand/or any other suitable image capture device. One or more anomaliesmay be determined to exist among the two or more impact signatures orcraters in the roofing material when the two or more impact signaturesor craters are of different size or shape, and/or are spaced apart atdifferent distances, or spaced different distances apart. Additionallyor alternatively, one or more anomalies are determined to exist amongthe two or more impact signatures or craters in the roofing materialwhen the two or more impact signatures or craters have different depths,and/or have different indentation distances. The system may includeadditional, less, or alternate functionality, including that discussedelsewhere herein.

In another aspect, a computer system for verifying hail damage usingcomputer vision and/or artificial intelligence may be provided. Thecomputer system may include a processor and an associated transceiver;and a non-transitory, tangible, computer-readable storage medium havinginstructions stored thereon that, in response to execution by theprocessor, cause the processor and/or associated transceiver to performoperations comprising: (1) receiving or retrieving images or image dataof two or more impact signatures or craters in roofing material of aroof of a building; (2) analyzing the images or image data to determinewhether one or more anomalies exist among the two or more impactsignatures or craters in the roofing material; (3) if no anomalies existamong the two or more impact signatures, generating an electronicmessage indicating that the no actual hail damage may exist in theroofing material or that the damaged locations in the roofing materialare potentially a result of mechanical damage; and/or (4) transmitting,via wired communication, and/or wireless communication or datatransmission over one or more radio frequency links or communicationchannels, the electronic message to an inspector's mobile device tofacilitate further investigating of the damaged roofing material topromptly resolve insurance claims.

The images or image data may be acquired by and received from aremote-controlled or autonomous aerial drone equipped with a camera, orfrom a remote-controlled or autonomous rover equipped with a cameraand/or any other suitable image capture device. The system may includeadditional, less, or alternate functionality, including that discussedelsewhere herein.

In another aspect, a computer system for verifying hail damage usingcomputer vision and/or artificial intelligence may be provided. Thecomputer system may include a processor; a transceiver; and anon-transitory, tangible, computer-readable storage medium havinginstructions stored thereon that, in response to execution by theprocessor, cause the processor and/or transceiver to perform operationscomprising: (1) receiving or retrieve images or image data of two ormore impact signatures or craters in roofing material of a roof of abuilding; (2) analyzing the images or image data to identify an anomalyamong the two or more impact signatures or craters in the roofingmaterial; (3) if one or more anomalies exist among the two or moreimpact signatures, generating an electronic message indicating that theactual hail damage exists in the roofing material or that the damagedlocations in the roofing material are a result of hail damage; and/or(4) transmitting, via wired communication, and/or wireless communicationor data transmission over one or more radio frequency links orcommunication channels, the electronic message to a user mobile deviceor other computing device to facilitate handling and promptly resolvinginsurance claims caused by hail damage. The system may includeadditional, less, or alternate functionality, including that discussedelsewhere herein.

In another aspect, a computer system for verifying hail damage and/ordetecting hail fraud using computer vision and artificial intelligencemay be provided. The computer system may include a processor; anassociated transceiver; and a non-transitory, tangible,computer-readable storage medium having instructions stored thereonthat, in response to execution by the processor, cause the processorand/or associated transceiver to perform operations comprising: (1)receiving at least one image of at least a portion of a rooftop; (2)analyzing the at least one image to identify a plurality of damagedlocations; (3) analyzing the plurality of damaged locations to determineone or more anomalies among the plurality of damaged locations; (4) ifone or more anomalies exist among the plurality of damaged locations,generating an electronic message indicating that the actual hail damageexists in the roofing material or that the damaged locations in theroofing material are a result of hail damage; and/or (5) transmitting,via wired communication, and/or wireless communication or datatransmission over one or more radio frequency links or communicationchannels, the electronic message to a user mobile device or othercomputing device to facilitate handling and promptly resolving insuranceclaims caused by hail damage.

The images or image data may be acquired by and received from aremote-controlled or autonomous aerial drone equipped with a camera, orfrom a remote-controlled or autonomous rover equipped with a cameraand/or any other suitable image capture device. One or more anomaliesmay be determined to exist among the plurality of damaged locations whentwo or more damaged locations are of different size or shape, and/or arespaced apart at different distances, or spaced different distancesapart. Additionally or alternatively, one or more anomalies aredetermined to exist among the plurality of damaged locations when two ormore damaged locations have different depths, and/or have differentindentation distances. The system may include additional, less, oralternate functionality, including that discussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage using computer vision and/or artificial intelligence may beprovided. The method may include, via one or more processors and/orassociated transceivers: (1) receiving (via wired communication, and/orwireless communication or data transmission over one or more radiofrequency links or communication channels) or retrieving images or imagedata of two or more impact signatures or craters in roofing material ofa roof of a building; (2) analyzing the images or image data todetermine whether one or more anomalies exist among the two or moreimpact signatures or craters in the roofing material; (3) if one or moreanomalies exist among the two or more impact signatures, generating anelectronic message indicating that the actual hail damage exists in theroofing material or that the damaged locations in the roofing materialare a result of hail damage; and/or (4) transmitting, via wiredcommunication, and/or wireless communication or data transmission overone or more radio frequency links or communication channels, theelectronic message to a user mobile device or other computing device tofacilitate handling and promptly resolving insurance claims caused byhail damage.

The images or image data may be acquired by and received from aremote-controlled or autonomous aerial drone equipped with a camera, orfrom a remote-controlled or autonomous rover equipped with a cameraand/or any other suitable image capture device. One or more anomaliesmay be determined to exist among the two or more impact signatures orcraters in the roofing material when the two or more impact signaturesor craters are of different size or shape. In another embodiment, one ormore anomalies may be determined to exist among the two or more impactsignatures or craters in the roofing material when three or more impactsignatures or craters are spaced apart at different distances or spaceddifferent distances apart. Additionally or alternatively, one or moreanomalies may be determined to exist among the two or more impactsignatures or craters in the roofing material when the two or moreimpact signatures or craters having different depths, and/or havedifferent indentation distances. The method may include additional,less, or alternate functionality, including that discussed elsewhereherein. The method may include additional, less, or alternate actions,including those discussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage using computer vision and/or artificial intelligence may beprovided. The method may include, via one or more processors and/ortransceivers: (1) receiving or retrieving images or image data of two ormore impact signatures or craters in roofing material of a roof of abuilding; (2) analyzing the images or image data to determine whetherone or more anomalies exist among the two or more impact signatures orcraters in the roofing material; (3) if no anomalies exist among the twoor more impact signatures, generating an electronic message indicatingthat the no actual hail damage may exist in the roofing material or thatthe damaged locations in the roofing material are potentially a resultof mechanical damage; and/or (4) transmitting, via wired communication,and/or wireless communication or data transmission over one or moreradio frequency links or communication channels, the electronic messageto an inspector's mobile device to facilitate further investigating ofthe damaged roofing material to promptly resolve insurance claims. Themethod may include additional, less, or alternate actions, includingthose discussed elsewhere herein.

The images or image data may be acquired by and received from aremote-controlled or autonomous aerial drone equipped with a camera, orfrom a remote-controlled or autonomous rover equipped with a cameraand/or any other suitable image capture device. The method may includeadditional, less, or alternate functionality, including that discussedelsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage using computer vision and/or artificial intelligence may beprovided. The method may include, via one or more processors and/orassociated transceivers: (1) receiving or retrieving images or imagedata of two or more impact signatures or craters in roofing material ofa roof of a building; (2) analyzing the images or image data to identifyan anomaly among the two or more impact signatures or craters in theroofing material; (3) if one or more anomalies exist among the two ormore impact signatures, generating an electronic message indicating thatthe actual hail damage exists in the roofing material or that thedamaged locations in the roofing material are a result of hail damage;and/or (4) transmitting, via wired communication, and/or wirelesscommunication or data transmission over one or more radio frequencylinks or communication channels, the electronic message to a user mobiledevice or other computing device to facilitate handling and promptlyresolving insurance claims caused by hail damage. The method may includeadditional, less, or alternate actions, including those discussedelsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage and/or detecting hail fraud using computer vision and artificialintelligence may be provided. The method may include, via one or moreprocessors and/or associated transceivers: (1) receiving at least oneimage of at least a portion of a rooftop; analyzing the at least oneimage to identify a plurality of damaged locations; (2) analyzing theplurality of damaged locations to determine one or more anomalies amongthe plurality of damaged locations; (3) if one or more anomalies existamong the plurality of damaged locations, generating an electronicmessage indicating that the actual hail damage exists in the roofingmaterial or that the damaged locations in the roofing material are aresult of hail damage; and/or (4) transmitting, via wired communication,and/or wireless communication or data transmission over one or moreradio frequency links or communication channels, the electronic messageto a user mobile device or other computing device to facilitate handlingand promptly resolving insurance claims caused by hail damage. Themethod may include additional, less, or alternate actions, includingthose discussed elsewhere herein.

The images or image data may be acquired by and received from aremote-controlled or autonomous aerial drone equipped with a camera, orfrom a remote-controlled or autonomous rover equipped with a cameraand/or any other suitable image capture device. One or more anomaliesmay be determined to exist among the two or more impact signatures orcraters in the roofing material when the two or more impact signaturesor craters are of different size or shape. In another embodiment, one ormore anomalies may be determined to exist among the two or more impactsignatures or craters in the roofing material when three or more impactsignatures or craters are spaced apart at different distances or spaceddifferent distances apart. Additionally or alternatively, one or moreanomalies may be determined to exist among the two or more impactsignatures or craters in the roofing material when the two or moreimpact signatures or craters having different depths, and/or havedifferent indentation distances. The method may include additional,less, or alternate functionality, including that discussed elsewhereherein.

In another aspect, a computer system for verifying hail damage usingcomputer vision and/or artificial intelligence may be provided. Thecomputer system may include a processor; an associated transceiver; anda non-transitory, tangible, computer-readable storage medium havinginstructions stored thereon that, in response to execution by theprocessor, cause the processor and/or associated transceiver to performoperations comprising: (1) receiving (via wired communication, and/orwireless communication or data transmission over one or more radiofrequency links or communication channels) an indication of an insuranceclaim for hail damage associated with a property; (2) receiving (viawired communication, and/or wireless communication or data transmissionover one or more radio frequency links or communication channels) orretrieving images or image data of non-roofing material portions of aroof of the property; (3) analyzing the images or image data todetermine whether one or more anomalies exist among the non-roofingmaterial portions of a roof; (4) if one or more anomalies exist amongthe non-roofing material portions of a roof, generating an electronicmessage indicating that the actual hail damage exists at the property orthat the damaged locations in roofing material are a result of haildamage; and/or (5) transmitting, via wired communication, and/orwireless communication or data transmission over one or more radiofrequency links or communication channels, the electronic message to auser mobile device or other computing device to facilitate handling andpromptly resolving insurance claims caused by hail damage. The systemmay include additional, less, or alternate functionality, including thatdiscussed elsewhere herein.

In another aspect, a computer system for verifying hail damage usingcomputer vision and/or artificial intelligence may be provided. Thecomputer system may include a processor; a transceiver; and anon-transitory, tangible, computer-readable storage medium havinginstructions stored thereon that, in response to execution by theprocessor, cause the processor and/or transceiver to perform operationscomprising: (1) receiving or retrieve images or image data of two ormore impact signatures or craters in non-roofing material of a roof of abuilding; (2) analyzing the images or image data to identify an anomalyamong the two or more impact signatures or craters in the non-roofingmaterial; (3) if one or more anomalies exist among the two or moreimpact signatures, generating an electronic message indicating that theactual hail damage exists to the roof or that the damaged locations inthe non-roofing material are a result of hail damage; and/or (4)transmitting, via wired communication, and/or wireless communication ordata transmission over one or more radio frequency links orcommunication channels, the electronic message to a user mobile deviceor other computing device to facilitate handling and promptly resolvinginsurance claims caused by hail damage. The system may includeadditional, less, or alternate functionality, including that discussedelsewhere herein.

In another aspect, a computer system for verifying hail damage and/ordetecting hail fraud using computer vision and artificial intelligencemay be provided. The computer system may include a processor; anassociated transceiver; and a non-transitory, tangible,computer-readable storage medium having instructions stored thereonthat, in response to execution by the processor, cause the processorand/or associated transceiver to perform operations comprising: (1)receiving at least one image of at least a non-roofing material portionof a rooftop; (2) analyzing the at least one image to identify aplurality of damaged locations; (3) analyzing the plurality of damagedlocations to determine one or more anomalies among the plurality ofdamaged locations; (4) if one or more anomalies exist among theplurality of damaged locations, generating an electronic messageindicating that the actual hail damage exists to the roof or that thedamaged locations in the non-roofing material are a result of haildamage; and/or (5) transmitting, via wired communication, and/orwireless communication or data transmission over one or more radiofrequency links or communication channels, the electronic message to auser mobile device or other computing device to facilitate handling andpromptly resolving insurance claims caused by hail damage. The systemmay include additional, less, or alternate functionality, including thatdiscussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage using computer vision and/or artificial intelligence may beprovided. The method comprising, via one or more processors and/orassociated transceivers: (1) receiving (via wired communication, and/orwireless communication or data transmission over one or more radiofrequency links or communication channels) an indication of an insuranceclaim for hail damage associated with a property; (2) receiving (viawired communication, and/or wireless communication or data transmissionover one or more radio frequency links or communication channels) orretrieving images or image data of non-roofing material portions of aroof of the property; (3) analyzing the images or image data todetermine whether one or more anomalies exist among the non-roofingmaterial portions of a roof; (4) if one or more anomalies exist amongthe non-roofing material portions of a roof, generating an electronicmessage indicating that the actual hail damage exists at the property orthat the damaged locations in roofing material are a result of haildamage; and/or (5) transmitting, via wired communication, and/orwireless communication or data transmission over one or more radiofrequency links or communication channels, the electronic message to auser mobile device or other computing device to facilitate handling andpromptly resolving insurance claims caused by hail damage. The methodmay include additional, less, or alternate actions, including thosediscussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage using computer vision and/or artificial intelligence may beprovided. The method may include, via one or more processors: (1)receiving or retrieve images or image data of two or more impactsignatures or craters in non-roofing material of a roof of a building;(2) analyzing the images or image data to identify an anomaly among thetwo or more impact signatures or craters in the non-roofing material;(3) if one or more anomalies exist among the two or more impactsignatures, generating an electronic message indicating that the actualhail damage exists to the roof or that the damaged locations in thenon-roofing material are a result of hail damage; and/or (4)transmitting, via wired communication, and/or wireless communication ordata transmission over one or more radio frequency links orcommunication channels, the electronic message to a user mobile deviceor other computing device to facilitate handling and promptly resolvinginsurance claims caused by hail damage. The method may includeadditional, less, or alternate actions, including those discussedelsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage and/or detecting hail fraud using computer vision and artificialintelligence may be provided. The method may include, via one or moreprocessors and/or transceivers: (1) receiving at least one image of atleast a non-roofing material portion of a rooftop; (2) analyzing the atleast one image to identify a plurality of damaged locations; (3)analyzing the plurality of damaged locations to determine one or moreanomalies among the plurality of damaged locations; (4) if one or moreanomalies exist among the plurality of damaged locations, generating anelectronic message indicating that the actual hail damage exists to theroof or that the damaged locations in the non-roofing material are aresult of hail damage; and/or (5) transmitting, via wired communication,and/or wireless communication or data transmission over one or moreradio frequency links or communication channels, the electronic messageto a user mobile device or other computing device to facilitate handlingand promptly resolving insurance claims caused by hail damage. Themethod may include additional, less, or alternate actions, includingthose discussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage and/or detecting hail fraud using computer vision and artificialintelligence may be provided. The method may be implemented using one ormore processors and/or transceivers. The method may include: (1)receiving at least one image of at least a portion of a rooftop; (2)analyzing the at least one image to identify a plurality of damagedlocations; (3) analyzing the plurality of damaged locations to determinea shape and a size of each of the plurality of damaged locations; and(4) at least one of: (a) determining, based upon the analyzing, that theshape and the size of at least one of the plurality of damaged locationsis substantially identical to the shape and the size of at least oneother damaged location of the plurality of damaged locations todetermine that the plurality of damaged locations are not a result ofhail damage; or (b) determining, based upon the analyzing, that theshape and the size of at least one of the plurality of damaged locationsis not substantially identical to the shape and the size of at least oneother damaged location of the plurality of damaged locations todetermine that the plurality of damaged locations are a result of haildamage.

The method may include analyzing the plurality of damaged locations todetermine a distance between each of the plurality of damaged locations.In some embodiments, the method may include, based upon the analyzing,determining that the distance between at least some of the plurality ofdamaged locations is substantially uniform to determine that theplurality of damaged locations are not a result of hail damage.Additionally or alternatively, the method may include determining thatthe plurality of damaged locations are a result of mechanical damagedelivered by an individual. In some embodiments, the method may includedetermining, based upon the analyzing, that the distance between atleast some of the plurality of damaged locations is not substantiallyuniform to determine that the plurality of damaged locations are aresult of hail damage. The method may include implementing a machinelearning algorithm to compare the plurality of damaged locations to aplurality of patterns and shapes associated with known hail damage.

At least one of the shape and the size of at least one of the pluralityof damaged locations may be associated with mechanical damage deliveredby a tool, such as at least one of a hammer or a lean stick. In someembodiments, the method may include receiving at least one image of asoft metal component mounted on the rooftop. Additionally oralternatively, the method may include analyzing the at least one imageof the soft metal component to identify at least one damaged location inthe soft metal component. The method may include determining in responseto the analyzing, that the plurality of damaged locations are a resultof hail damage. The method may include additional, less, or alternateactions, including those discussed elsewhere herein.

In another aspect, a computer-implemented method for verifying haildamage and/or detecting hail fraud using computer vision and artificialintelligence may be provided. The method may be implemented using one ormore processors and/or transceivers. The method may include: (1)receiving at least one image of at least a portion of a rooftop; (2)analyzing the at least one image to identify a plurality of damagedlocations; (3) analyzing the plurality of damaged locations to determinea distance between each of the plurality of damaged locations; and (4)at least one of: (a) determining, based upon the analyzing, that thedistance between at least some of the plurality of damaged locations issubstantially uniform to determine that the plurality of damagedlocations are not a result of hail damage; or (b) determining, basedupon the analyzing, that the distance between at least some of theplurality of damaged locations is not substantially uniform to determinethat the plurality of damaged locations are a result of hail damage. Themethod may include additional, less, or alternate actions, includingthose discussed elsewhere herein. In another aspect, acomputer-implemented method for verifying hail damage and/or detectinghail fraud using computer vision and artificial intelligence may beprovided. The method may be implemented using one or more processorsand/or transceivers. The method may include: (1) receiving at least oneimage of at least a portion of a rooftop; (2) analyzing the at least oneimage to identify a plurality of damaged locations; (3) analyzing theplurality of damaged locations to determine a distance between each ofthe plurality of damaged locations, a size of each of the plurality ofdamaged locations, and a shape of each of the plurality of damagedlocations; and (4) analyzing at least one of the distance between eachof the plurality of damaged locations, the size of each of the pluralityof damaged locations, and the shape of each of the plurality of damagedlocations to determine whether the plurality of damaged locations are aresult of actual hail damage. The method may include additional, less,or alternate actions, including those discussed elsewhere herein.

In another aspect, a computer system configured to verify hail damageand/or detect hail fraud using computer vision and artificialintelligence may be provided. The computer system may include one ormore processors, servers, sensors, and/or transceivers configured to:(1) receive at least one image of at least a portion of a rooftop; (2)analyze the at least one image to identify a plurality of damagedlocations; (3) analyze the plurality of damaged locations to determine ashape and a size of each of the plurality of damaged locations; and (4)at least one of: (a) determine based upon the analyzing, that the shapeand the size of at least one of the plurality of damaged locations issubstantially identical to the shape and the size of at least one otherdamaged location of the plurality of damaged locations to determine thatthe plurality of damaged locations are not a result of hail damage; or(b) determine, based upon the analyzing, that the shape and the size ofat least one of the plurality of damaged locations is not substantiallyidentical to the shape and the size of at least one other damagedlocation of the plurality of damaged locations to determine that theplurality of damaged locations are a result of hail damage. The systemmay include additional, less, or alternate functionality, including thatdiscussed elsewhere herein.

In another aspect, a computer system configured to verify hail damageand/or detect hail fraud using computer vision and artificialintelligence may be provided. The computer system may include one ormore processors, servers, sensors, and/or transceivers configured to:(1) receive at least one image of at least a portion of a rooftop; (2)analyze the at least one image to identify a plurality of damagedlocations; (3) analyze the plurality of damaged locations to determine adistance between each of the plurality of damaged locations; and (4) atleast one of: (a) determine based upon the analyzing, that the distancebetween at least some of the plurality of damaged locations issubstantially uniform to determine that the plurality of damagedlocations are not a result of hail damage; or (b) determine, based uponthe analyzing, that the distance between at least some of the pluralityof damaged locations is not substantially uniform to determine that theplurality of damaged locations are a result of hail damage. The systemmay include additional, less, or alternate functionality, including thatdiscussed elsewhere herein.

In another aspect, a computer system configured to verify hail damageand/or detect hail fraud using computer vision and artificialintelligence may be provided. The computer system may include one ormore processors, servers, sensors, and/or transceivers configured to:(1) receive at least one image of at least a portion of a rooftop; (2)analyze the at least one image to identify a plurality of damagedlocations; (3) analyze the plurality of damaged locations to determine adistance between each of the plurality of damaged locations, a size ofeach of the plurality of damaged locations, and a shape of each of theplurality of damaged locations; and (4) analyze at least one of thedistance between each of the plurality of damaged locations, the size ofeach of the plurality of damaged locations, and the shape of each of theplurality of damaged locations to determine whether the plurality ofdamaged locations are a result of actual hail damage. The system mayinclude additional, less, or alternate functionality, including thatdiscussed elsewhere herein.

The foregoing computer-implemented methods and othercomputer-implemented methods discussed herein may be implemented viavarious computer systems, including those discussed herein. The computersystems may have one or more local or remote processors, servers,sensors, and/or transceivers. The methods may also be implemented vianon-transitory computer-readable medium or media having processorexecutable instructions stored thereon that direct one or moreprocessors to carry out the functionality or actions carried out by themethods.

ADDITIONAL CONSIDERATIONS

As will be appreciated based upon the foregoing specification, theabove-described embodiments of the disclosure may be implemented usingcomputer programming or engineering techniques including computersoftware, firmware, hardware or any combination or subset thereof. Anysuch resulting program, having computer-readable code means, may beembodied or provided within one or more computer-readable media, therebymaking a computer program product, i.e., an article of manufacture,according to the discussed embodiments of the disclosure. Thecomputer-readable media may be, for example, but is not limited to, afixed (hard) drive, diskette, optical disk, magnetic tape, semiconductormemory such as read-only memory (ROM), and/or any transmitting/receivingmedium, such as the Internet or other communication network or link. Thearticle of manufacture containing the computer code may be made and/orused by executing the code directly from one medium, by copying the codefrom one medium to another medium, or by transmitting the code over anetwork.

These computer programs (also known as programs, software, softwareapplications, “apps”, or code) include machine instructions for aprogrammable processor, and can be implemented in a high-levelprocedural and/or object-oriented programming language, and/or inassembly/machine language. As used herein, the terms “machine-readablemedium” “computer-readable medium” refers to any computer programproduct, apparatus and/or device (e.g., magnetic discs, optical disks,memory, Programmable Logic Devices (PLDs)) used to provide machineinstructions and/or data to a programmable processor, including amachine-readable medium that receives machine instructions as amachine-readable signal. The “machine-readable medium” and“computer-readable medium,” however, do not include transitory signals.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

As used herein, a processor may include any programmable systemincluding systems using micro-controllers, reduced instruction setcircuits (RISC), application specific integrated circuits (ASICs), logiccircuits, and any other circuit or processor capable of executing thefunctions described herein. The above examples are example only, and arethus not intended to limit in any way the definition and/or meaning ofthe term “processor.”

As used herein, the terms “software” and “firmware” are interchangeable,and include any computer program stored in memory for execution by aprocessor, including RAM memory, ROM memory, EPROM memory, EEPROMmemory, and non-volatile RAM (NVRAM) memory. The above memory types areexample only, and are thus not limiting as to the types of memory usablefor storage of a computer program.

In one embodiment, a computer program is provided, and the program isembodied on a computer readable medium. In one exemplary embodiment, thesystem is executed on a single computer system, without requiring aconnection to a sever computer. In a further embodiment, the system isbeing run in a Windows® environment (Windows is a registered trademarkof Microsoft Corporation, Redmond, Wash.). In yet another embodiment,the system is run on a mainframe environment and a UNIX® serverenvironment (UNIX is a registered trademark of X/Open Company Limitedlocated in Reading, Berkshire, United Kingdom). The application isflexible and designed to run in various different environments withoutcompromising any major functionality.

In some embodiments, the system includes multiple components distributedamong a plurality of computing devices. One or more components may be inthe form of computer-executable instructions embodied in acomputer-readable medium. The systems and processes are not limited tothe specific embodiments described herein. In addition, components ofeach system and each process can be practiced independent and separatefrom other components and processes described herein. Each component andprocess can also be used in combination with other assembly packages andprocesses. The present embodiments may enhance the functionality andfunctioning of computers and/or computer systems.

As used herein, an element or step recited in the singular and precededby the word “a” or “an” should be understood as not excluding pluralelements or steps, unless such exclusion is explicitly recited.Furthermore, references to “example embodiment” or “one embodiment” ofthe present disclosure are not intended to be interpreted as excludingthe existence of additional embodiments that also incorporate therecited features.

The patent claims at the end of this document are not intended to beconstrued under 35 U.S.C. § 112(f) unless traditionalmeans-plus-function language is expressly recited, such as “means for”or “step for” language being expressly recited in the claim(s).

This written description uses examples to disclose the disclosure,including the best mode, and also to enable any person skilled in theart to practice the disclosure, including making and using any devicesor systems and performing any incorporated methods. The patentable scopeof the disclosure is defined by the claims, and may include otherexamples that occur to those skilled in the art. Such other examples areintended to be within the scope of the claims if they have structuralelements that do not differ from the literal language of the claims, orif they include equivalent structural elements with insubstantialdifferences from the literal language of the claims.

I claim:
 1. A computer system for verifying hail damage using computervision and artificial intelligence, the computer system comprising: aprocessor; and a non-transitory, tangible, computer-readable storagemedium having instructions stored thereon that, in response to executionby the processor, cause the processor to perform operations comprising:receiving at least one image of at least a portion of a single rooftop;analyzing the at least one image to identify a plurality of damagedlocations in a selected damage area on the single rooftop; analyzing,using at least one of a computer vision and an artificial intelligencealgorithm, the plurality of damaged locations to determine (i) adistance between each of the plurality of damaged locations and (ii) apositioning of each damaged location relative to one another; comparing,based upon the analysis, (i) the distance between at least some of theplurality of damaged locations to one another and (ii) the positioningfor the at least some of the plurality of damaged locations to oneanother; determining, based upon the comparison, whether the distanceand the positioning between each damaged location of the at least someof the plurality of damaged locations are substantially uniform relativeto one another; and if, based upon the determination, the distance andthe positioning for the at least some of the plurality of damagedlocations are not substantially uniform, determining that the pluralityof damaged locations are a result of hail damage.
 2. The computer systemof claim 1, wherein the processor is further configured to performoperations comprising determining that the plurality of damagedlocations are not the result of hail damage when the distance and thepositioning for the at least some of the plurality of damaged locationsare substantially uniform.
 3. The computer system of claim 1, whereinthe processor is further configured to perform operations comprisinganalyzing the plurality of damaged locations to determine a shape and asize of each of the plurality of damaged locations.
 4. The computersystem of claim 3, wherein the processor is further configured toperform operations comprising determining, based upon the analyzing,that the plurality of damaged locations are not a result of hail damagebased upon the shape and the size of at least one of the plurality ofdamaged locations being substantially identical to the shape and thesize of at least one other damaged location of the plurality of damagedlocations.
 5. The computer system of claim 4, wherein the processor isfurther configured to perform operations comprising determining that theplurality of damaged locations are a result of mechanical damagedelivered by an individual.
 6. The computer system of claim 4, whereinat least one of the shape and the size of at least one of the pluralityof damaged locations is associated with mechanical damage delivered by atool.
 7. The computer system of claim 3, wherein the processor isfurther configured to perform operations comprising determining, basedupon the analyzing, that the plurality of damaged locations are a resultof hail damage based upon the shape and the size of at least one of theplurality of damaged locations not being substantially identical to theshape and the size of at least one other damaged location of theplurality of damaged locations.
 8. The computer system of claim 1,wherein analyzing the plurality of damaged locations using an artificialintelligence algorithm comprises implementing a machine learningalgorithm to compare the plurality of damaged locations to a pluralityof patterns and shapes associated with known hail damage.
 9. Thecomputer system of claim 1, wherein analyzing the plurality of damagedlocations using a computer vision algorithm comprises implementing animage recognition algorithm to identify variations in an impactsignature of each of the plurality of damaged locations.
 10. Thecomputer system of claim 1, wherein the processor is further configuredto perform operations comprising receiving at least one image of a softmetal component mounted on the single rooftop.
 11. The computer systemof claim 10, wherein the processor is further configured to performoperations comprising analyzing the at least one image of the soft metalcomponent to identify at least one damaged location in the soft metalcomponent.
 12. The computer system of claim 11, wherein the processor isfurther configured to perform operations comprising determining, inresponse to the analyzing, that the plurality of damaged locations inthe soft metal component are a result of hail damage.
 13. The computersystem of claim 10, wherein the processor is further configured toperform operations comprising analyzing the at least one image of thesoft metal component to determine that the soft metal component isundamaged.
 14. The computer system of claim 13, wherein the processor isfurther configured to perform operations comprising determining, inresponse to the analyzing, that the plurality of damaged locations arenot a result of hail damage.
 15. A computer-implemented method forverifying hail damage using computer vision and artificial intelligence,the method implemented using a computer system including a processor incommunication with at least one memory, the method comprising: receivingat least one image of at least a portion of a single rooftop; analyzingthe at least one image to identify a plurality of damaged locations in aselected damage area on the single rooftop; analyzing, using at leastone of a computer vision and an artificial intelligence algorithm, theplurality of damaged locations to (i) determine a distance between eachof the plurality of damaged locations and (ii) a positioning of eachdamaged location relative to one another; comparing, based upon theanalysis, (i) the distance between at least some of the plurality ofdamaged locations to one another and (ii) the positioning for the atleast some of the plurality of damaged locations to one another;determining, based upon the comparison, whether the distance and thepositioning between each damaged location of the at least some of theplurality of damaged locations are substantially uniform relative to oneanother; and if, based upon the determination, the distance and thepositioning for the at least some of the plurality of damaged locationsare not substantially uniform, determining that the plurality of damagedlocations are a result of hail damage.
 16. The computer-implementedmethod of claim 15, wherein said determining comprises determining thatthe plurality of damaged locations are not the result of hail damagewhen the distance and the positioning for the at least some of theplurality of damaged locations are substantially uniform.
 17. Thecomputer-implemented method of claim 15 further comprising analyzing theplurality of damaged locations to determine a shape and a size of eachof the plurality of damaged locations.
 18. The computer-implementedmethod of claim 17 further comprising determining, based upon theanalyzing, that the plurality of damaged locations are not a result ofhail damage based upon the shape and the size of at least one of theplurality of damaged locations being substantially identical to theshape and the size of at least one other damaged location of theplurality of damaged locations.
 19. The computer-implemented method ofclaim 17 comprising determining, based upon the analyzing, that theplurality of damaged locations are a result of hail damage based uponthe shape and the size of at least one of the plurality of damagedlocations not being substantially identical to the shape and the size ofat least one other damaged location of the plurality of damagedlocations.
 20. The computer-implemented method of claim 15, whereinanalyzing the plurality of damaged locations using an artificialintelligence algorithm comprises implementing a machine learningalgorithm to compare the plurality of damaged locations to a pluralityof patterns and shapes associated with known hail damage.
 21. At leastone non-transitory computer-readable storage media havingcomputer-executable instructions embodied thereon, wherein when executedby a computer system including at least one processor in communicationwith a memory, the computer-executable instructions cause the at leastone processor to perform operations comprising: receiving at least oneimage of at least a portion of a single rooftop; analyzing the at leastone image to identify a plurality of damaged locations in a selecteddamage area on the single rooftop; analyzing, using at least one of acomputer vision and an artificial intelligence algorithm, the pluralityof damaged locations to (i) determine a distance between each of theplurality of damaged locations and (ii) a positioning of each damagedlocation relative to one another; comparing, based upon the analysis,(i) the distance between at least some of the plurality of damagedlocations to one another and (ii) the positioning for the at least someof the plurality of damaged locations to one another; determining, basedupon the comparison, whether the distance and the positioning betweeneach damaged location of the at least some of the plurality of damagedlocations are substantially uniform relative to one another; and if,based upon the determination, the distance and the positioning for theat least some of the plurality of damaged locations are notsubstantially uniform, determining that the plurality of damagedlocations are a result of hail damage.
 22. The at least onenon-transitory computer-readable storage media of claim 21, wherein thecomputer-executable instructions cause the at least one processor toperform operations further comprising determining that the plurality ofdamaged locations are not the result of hail damage when the distanceand the positioning for the at least some of the plurality of damagedlocations are substantially uniform.
 23. The at least one non-transitorycomputer-readable storage claim 21, wherein the computer-executableinstructions cause the at least one processor to perform operationsfurther comprising analyzing the plurality of damaged locations todetermine a shape and a size of each of the plurality of damagedlocations.
 24. The at least one non-transitory computer-readable storageclaim 23, wherein the computer-executable instructions cause the atleast one processor to perform operations further comprisingdetermining, based upon the analyzing, that the plurality of damagedlocations are not a result of hail damage based upon the shape and thesize of at least one of the plurality of damaged locations beingsubstantially identical to the shape and the size of at least one otherdamaged location of the plurality of damaged locations.
 25. The at leastone non-transitory computer-readable storage claim 23, wherein thecomputer-executable instructions cause the at least one processor toperform operations further comprising determining, based upon theanalyzing, that the plurality of damaged locations are a result of haildamage based upon the shape and the size of at least one of theplurality of damaged locations not being substantially identical to theshape and the size of at least one other damaged location of theplurality of damaged locations.